package com.castle.fortress.admin.orders.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.castle.fortress.admin.orders.entity.SaleCouponEntity;
import com.castle.fortress.admin.orders.dto.SaleCouponDto;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Map;
import java.util.List;

/**
 * 优惠券 服务类
 *
 * @author whc
 * @since 2023-01-05
 */
public interface SaleCouponService extends IService<SaleCouponEntity> {

    /**
     * 分页展示优惠券列表
     * @param page
     * @param saleCouponDto
     * @return
     */
    IPage<SaleCouponDto> pageSaleCoupon(Page<SaleCouponDto> page, SaleCouponDto saleCouponDto);

    /**
    * 分页展示优惠券扩展列表
    * @param page
    * @param saleCouponDto
    * @return
    */
    IPage<SaleCouponDto> pageSaleCouponExtends(Page<SaleCouponDto> page, SaleCouponDto saleCouponDto);
    /**
    * 优惠券扩展详情
    * @param id 优惠券id
    * @return
    */
    SaleCouponDto getByIdExtends(Long id);

    /**
     * 展示优惠券列表
     * @param saleCouponDto
     * @return
     */
    List<SaleCouponDto> listSaleCoupon(SaleCouponDto saleCouponDto);
    /**
     * 查询传入等级可领优惠券
     * @param levelId
     * @return
     */
    List<SaleCouponDto> getMemberAvailCoupon(Long levelId);
}
